C/C++

推荐列表 站点导航

当前位置:首页 > 脚本编程 > C/C++ >

C++_VC程序设计中CreateProcess用法注意事项,对于windows程序设计来说,启动

来源:网络整理  作者:  发布时间:2020-12-20 03:24
VC程序设计中CreateProcess用法注意事项,对于windows程序设计来说,启动一个进程有三种方法:WinExec,ShellExecute,CreateP...

说明:

对于windows程序设计来说,启动一个进程有三种方法:WinExec,ShellExecute,CreateProcess。这里仅对CreateProcess的用法加以说明。

如果启动的进程与当前进程不再同一个目录下,则第八个参数必须指定,第八个参数为启动的进程所在的路径。否则不能成功启动进程。如下所示:

BOOL bRetVal = ::CreateProcess( (LPCWSTR)strProcPath, NULL, NULL, NULL, FALSE, 0, NULL, (LPCWSTR)strProcFolder, &startup, &m_procInfo ); if ( !bRetVal ) { AfxMessageBox( _T( "启动失败!" ) ); }

STARTUPINFO startup; ZeroMemory( &startup, sizeof(startup) ); startup.cb = sizeof(startup); ZeroMemory( &m_procInfo, sizeof(m_procInfo) ); // 初始化结果体是必须的,否则会异常 BOOL bRetVal = ::CreateProcess( (LPCWSTR)strProcPath, NULL, NULL, NULL, FALSE, 0, NULL, NULL, &startup, &m_procInfo ); if ( !bRetVal ) { AfxMessageBox( _T( "启动失败!" ) ); }

对于CreateProcess的详细参数读者可以查MSDN和《Windows API参考手册》,这里不具体说明。下面给出常用的方法:

第一个参数是应用程序的全路径,第二个参数是命令行参数。如果第一个参数为空,就必须在第二个参数中指定应用程序的路径

相关热词: windows C++

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jiaob/cjj/5935.shtml

最新文章
只需要在调用Ctrl+B编译后 只需要在调用Ctrl+B编译后

时间:2021-01-13

OpenGL超级宝典visual studio OpenGL超级宝典visual studio

时间:2021-01-04

Directx11 教程(2) 基本的wi Directx11 教程(2) 基本的wi

时间:2021-01-04

LeetCode11ContainerWithMostWate LeetCode11ContainerWithMostWate

时间:2021-01-04

C语言简单IT之家速成 C语言简单IT之家速成

时间:2020-12-27

三分钟了解Activity工作流 三分钟了解Activity工作流

时间:2020-12-27

编译器是如何实现32位整型 编译器是如何实现32位整型

时间:2020-12-27

C++中lower_bound函数和upper C++中lower_bound函数和upper

时间:2020-12-27

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

C++_VC程序设计中CreateProcess用法注意事项,对于windows程序设计来说,启动

2020-12-20 编辑:


说明:

对于windows程序设计来说,启动一个进程有三种方法:WinExec,ShellExecute,CreateProcess。这里仅对CreateProcess的用法加以说明。

如果启动的进程与当前进程不再同一个目录下,则第八个参数必须指定,第八个参数为启动的进程所在的路径。否则不能成功启动进程。如下所示:

BOOL bRetVal = ::CreateProcess( (LPCWSTR)strProcPath, NULL, NULL, NULL, FALSE, 0, NULL, (LPCWSTR)strProcFolder, &startup, &m_procInfo ); if ( !bRetVal ) { AfxMessageBox( _T( "启动失败!" ) ); }

STARTUPINFO startup; ZeroMemory( &startup, sizeof(startup) ); startup.cb = sizeof(startup); ZeroMemory( &m_procInfo, sizeof(m_procInfo) ); // 初始化结果体是必须的,否则会异常 BOOL bRetVal = ::CreateProcess( (LPCWSTR)strProcPath, NULL, NULL, NULL, FALSE, 0, NULL, NULL, &startup, &m_procInfo ); if ( !bRetVal ) { AfxMessageBox( _T( "启动失败!" ) ); }

对于CreateProcess的详细参数读者可以查MSDN和《Windows API参考手册》,这里不具体说明。下面给出常用的方法:

第一个参数是应用程序的全路径,第二个参数是命令行参数。如果第一个参数为空,就必须在第二个参数中指定应用程序的路径

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jiaob/cjj/5935.shtml

相关文章

风云图片

推荐阅读

返回C/C++频道首页